6: K-beauty

부스트코스
Author

김보람

Published

November 24, 2022

가설: K-Beauty는 성장하고 있을까? 해외 직접판매를 한다면 어느 국가로 판매전략을 세우면 좋을까?

  • e:추정지, p:잠정치, -:자료없음, …:미상자료, x: 비밀번호

필요 라이브러리 가져오기

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

%matplotlib inline
# 시각화 위한 폰트 설정
import os

if os.name == "posix":
    sns.set(font="AppleGothic")
elif os.name == "nt":
    sns.set(font="Malgun Gothic")
# 레티나 설정을 하면 글씨가 좀 더 선명하게 보인ㄷ.
# 폰트의 주변이 흐릿하게 보이는 것을 방지한다.
%config InlineBackend.figure_format = 'retina'

데이터 로드하기

df_raw = pd.read_csv("data/국가_대륙_별_상품군별_온라인쇼핑_해외직접판매액_20221122201127.csv", encoding="cp949")
df_raw.head()
국가(대륙)별 상품군별 판매유형별 2014.1/4 2014.2/4 2014.3/4 2014.4/4 2015.1/4 2015.2/4 2015.3/4 ... 2017.3/4 2017.4/4 2018.1/4 2018.2/4 2018.3/4 2018.4/4 2019.1/4 2019.2/4 2019.3/4 2019.4/4
0 합계 합계 148272 153641 163999 213216 269101 271784 268421 ... 749612 858240 833672 897205 921586 974060 1251122 1345723 1526135 1881628
1 합계 합계 면세점 - - - - - - - ... 610630 677884 665613 725319 761836 770656 1070693 1157158 1336372 1655635
2 합계 합계 면세점 이외 - - - - - - - ... 138982 180356 168059 171886 159750 203404 180429 188565 189763 225993
3 합계 컴퓨터 및 주변기기 4915 4052 3912 3529 2903 2697 3804 ... 2018 2158 5236 3854 4320 4511 3702 4038 3670 3827
4 합계 컴퓨터 및 주변기기 면세점 - - - - - - - ... 5 1 2 6 1 215 2 0 1 70

5 rows × 27 columns

df_raw.shape
(450, 27)
df_raw["국가(대륙)별"].value_counts()
합계            45
미국            45
중국            45
일본            45
아세안(ASEAN)    45
유럽연합(EU)      45
중동            45
중남미           45
대양주           45
기타            45
Name: 국가(대륙)별, dtype: int64
# 미국 데이터만 따로 보기
df_raw[df_raw["국가(대륙)별"]== "미국"]
국가(대륙)별 상품군별 판매유형별 2014.1/4 2014.2/4 2014.3/4 2014.4/4 2015.1/4 2015.2/4 2015.3/4 ... 2017.3/4 2017.4/4 2018.1/4 2018.2/4 2018.3/4 2018.4/4 2019.1/4 2019.2/4 2019.3/4 2019.4/4
45 미국 합계 25773 22573 21288 26729 39945 26654 28647 ... 41927 53209 42679 40207 37631 48978 40985 44973 55512 54054
46 미국 합계 면세점 - - - - - - - ... 9469 12177 5184 3603 2317 2079 2657 2951 1818 1481
47 미국 합계 면세점 이외 - - - - - - - ... 32458 41032 37495 36604 35314 46899 38328 42022 53694 52573
48 미국 컴퓨터 및 주변기기 2216 1666 1776 1675 1469 1393 2166 ... 791 854 2033 1553 1784 1774 1298 1408 1653 1383
49 미국 컴퓨터 및 주변기기 면세점 - - - - - - - ... 0 0 0 0 0 1 0 0 0 0
50 미국 컴퓨터 및 주변기기 면세점 이외 - - - - - - - ... 791 854 2033 1553 1784 1773 1298 1408 1653 1383
51 미국 가전·전자·통신기기 2875 2758 2894 3527 4397 3589 2982 ... 2575 2394 1737 1716 1723 1886 1845 1837 3166 1787
52 미국 가전·전자·통신기기 면세점 - - - - - - - ... 29 32 65 38 72 52 66 116 107 49
53 미국 가전·전자·통신기기 면세점 이외 - - - - - - - ... 2546 2362 1672 1678 1651 1834 1779 1721 3059 1738
54 미국 소프트웨어 47 57 49 128 182 113 163 ... 37 125 175 251 172 269 88 156 118 338
55 미국 소프트웨어 면세점 - - - - - - - ... 0 0 0 0 0 0 0 0 0 0
56 미국 소프트웨어 면세점 이외 - - - - - - - ... 37 125 175 251 172 269 88 156 118 338
57 미국 서 적 962 720 934 1006 1074 837 993 ... 1876 1856 2089 1790 2033 1977 2259 1563 2596 1720
58 미국 서 적 면세점 - - - - - - - ... 0 0 0 0 0 0 0 0 0 0
59 미국 서 적 면세점 이외 - - - - - - - ... 1876 1856 2089 1790 2033 1977 2259 1563 2596 1720
60 미국 사무·문구 25 10 14 18 568 17 32 ... 30 79 58 55 85 83 198 72 83 101
61 미국 사무·문구 면세점 - - - - - - - ... 0 0 0 0 0 0 0 0 0 0
62 미국 사무·문구 면세점 이외 - - - - - - - ... 30 79 58 55 85 83 198 72 83 101
63 미국 음반·비디오·악기 787 720 722 821 849 781 827 ... 2281 2647 2362 3014 3932 4550 3857 5191 5762 4786
64 미국 음반·비디오·악기 면세점 - - - - - - - ... 0 0 0 0 0 0 0 0 0 0
65 미국 음반·비디오·악기 면세점 이외 - - - - - - - ... 2281 2647 2362 3014 3932 4550 3857 5191 5762 4786
66 미국 의류 및 패션 관련상품 9810 7801 6404 9208 8602 6927 8055 ... 11173 14483 11815 12169 10233 13658 12324 13683 13368 16161
67 미국 의류 및 패션 관련상품 면세점 - - - - - - - ... 148 129 116 154 134 118 110 115 95 91
68 미국 의류 및 패션 관련상품 면세점 이외 - - - - - - - ... 11025 14354 11699 12015 10099 13540 12214 13568 13273 16070
69 미국 스포츠·레저용품 573 539 475 491 541 527 481 ... 874 1121 1181 1439 1200 1072 1152 1602 3150 864
70 미국 스포츠·레저용품 면세점 - - - - - - - ... 0 0 0 0 1 3 4 0 0 0
71 미국 스포츠·레저용품 면세점 이외 - - - - - - - ... 874 1121 1181 1439 1199 1069 1148 1602 3150 864
72 미국 화장품 3740 3713 3399 4595 11223 6176 7061 ... 15997 22310 13909 11219 9717 15738 10817 11310 13999 13494
73 미국 화장품 면세점 - - - - - - - ... 9202 11913 4927 3311 2028 1780 2366 2647 1550 1271
74 미국 화장품 면세점 이외 - - - - - - - ... 6795 10397 8982 7908 7689 13958 8451 8663 12449 12223
75 미국 아동·유아용품 583 546 499 610 1099 603 619 ... 592 722 766 793 730 1056 815 1153 1702 1928
76 미국 아동·유아용품 면세점 - - - - - - - ... 1 0 1 0 2 0 0 0 0 0
77 미국 아동·유아용품 면세점 이외 - - - - - - - ... 591 722 765 793 728 1056 815 1153 1702 1928
78 미국 음·식료품 381 415 405 673 577 628 631 ... 417 265 277 311 239 278 336 313 602 424
79 미국 음·식료품 면세점 - - - - - - - ... 89 103 75 100 80 125 111 73 64 70
80 미국 음·식료품 면세점 이외 - - - - - - - ... 328 162 202 211 159 153 225 240 538 354
81 미국 농축수산물 94 98 111 160 189 192 193 ... 0 2 1 0 0 33 2 2 7 2
82 미국 농축수산물 면세점 - - - - - - - ... 0 0 0 0 0 0 0 0 0 0
83 미국 농축수산물 면세점 이외 - - - - - - - ... 0 2 1 0 0 33 2 2 7 2
84 미국 생활용품 및 자동차용품 1931 1915 1815 1871 6605 2189 2207 ... 2349 2276 2483 2357 2150 2159 2174 2410 3409 3713
85 미국 생활용품 및 자동차용품 면세점 - - - - - - - ... 0 0 0 0 0 0 0 0 2 0
86 미국 생활용품 및 자동차용품 면세점 이외 - - - - - - - ... 2349 2276 2483 2357 2150 2159 2174 2410 3407 3713
87 미국 기 타 1749 1615 1791 1946 2570 2682 2237 ... 2935 4075 3793 3540 3633 4445 3820 4273 5897 7353
88 미국 기 타 면세점 - - - - - - - ... 0 0 0 0 0 0 0 0 0 0
89 미국 기 타 면세점 이외 - - - - - - - ... 2935 4075 3793 3540 3633 4445 3820 4273 5897 7353

45 rows × 27 columns

분산과 시각화를 위한 tidy data 만들기

# 컬럼에 있는 데이터를 행으로?
df_raw.melt?
df_raw.columns
Index(['국가(대륙)별', '상품군별', '판매유형별', '2014.1/4', '2014.2/4', '2014.3/4',
       '2014.4/4', '2015.1/4', '2015.2/4', '2015.3/4', '2015.4/4', '2016.1/4',
       '2016.2/4', '2016.3/4', '2016.4/4', '2017.1/4', '2017.2/4', '2017.3/4',
       '2017.4/4', '2018.1/4', '2018.2/4', '2018.3/4', '2018.4/4', '2019.1/4',
       '2019.2/4', '2019.3/4', '2019.4/4'],
      dtype='object')
df=df_raw.melt(id_vars=["국가(대륙)별", "상품군별", "판매유형별"],var_name="기간", value_name="백만원")
# id_vars:어떤 컬럼이 기준이 되는지? 여러개하려면 리스트 형태로
# variable : 나머지 컬럼값들.. 2014~ var_name 통해서 이름 바꿔줄수 있다. 
# value : df_raw.values에 들어가있던 값들이 다 value로 들어가 있따.
df.head()
국가(대륙)별 상품군별 판매유형별 기간 백만원
0 합계 합계 2014.1/4 148272
1 합계 합계 면세점 2014.1/4 -
2 합계 합계 면세점 이외 2014.1/4 -
3 합계 컴퓨터 및 주변기기 2014.1/4 4915
4 합계 컴퓨터 및 주변기기 면세점 2014.1/4 -
df.shape
# 기간이 다 행으로 와서 행이 늘어났다.
(10800, 5)
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10800 entries, 0 to 10799
Data columns (total 5 columns):
 #   Column   Non-Null Count  Dtype 
---  ------   --------------  ----- 
 0   국가(대륙)별  10800 non-null  object
 1   상품군별     10800 non-null  object
 2   판매유형별    10800 non-null  object
 3   기간       10800 non-null  object
 4   백만원      10800 non-null  object
dtypes: object(5)
memory usage: 422.0+ KB

데이터 전처리

기간에서 연도를 분리하기

df["기간"]
# object : string데이터를 의미
0        2014.1/4
1        2014.1/4
2        2014.1/4
3        2014.1/4
4        2014.1/4
           ...   
10795    2019.4/4
10796    2019.4/4
10797    2019.4/4
10798    2019.4/4
10799    2019.4/4
Name: 기간, Length: 10800, dtype: object

df[“기간”].map?


df["연도"] = list(map(lambda x : int(x.split(".")[0]), df["기간"])) 
# 기간에서 분기만 분리하기
df["분기"] = list(map(lambda x : int(x.split(".")[1].split()[0].split("/")[0]), df["기간"])) 
# (1) "." 을 기준으로 split하고 (["2022", "1/4 p"]) 1번째 인덱스를 취함 -> "1/4 p"

# (2) " " 을 기준으로 split하고 (["1/4", "p"]) 0번째 인덱스를 취함 -> "1/4"

# (3) "/"을 기준으로 split하고 (["1", "4"]) 0번째 인덱스를 취함

# (4) "1"에 int() 형변환 함수를 씌워 int64형으로 변환
df.head()
국가(대륙)별 상품군별 판매유형별 기간 백만원 연도 분기
0 합계 합계 2014.1/4 148272 2014 1
1 합계 합계 면세점 2014.1/4 - 2014 1
2 합계 합계 면세점 이외 2014.1/4 - 2014 1
3 합계 컴퓨터 및 주변기기 2014.1/4 4915 2014 1
4 합계 컴퓨터 및 주변기기 면세점 2014.1/4 - 2014 1

금액을 수치데이터로 표현하기 위해 데이터 타입 변경하기

# - 문자를 결측치로 변경하고 float타입으로 변경하기
df["백만원"] = df["백만원"].replace("-",pd.np.nan).astype(float)
df["백만원"]
C:\Users\Public\Documents\ESTsoft\CreatorTemp\ipykernel_117660\99655999.py:2: FutureWarning: The pandas.np module is deprecated and will be removed from pandas in a future version. Import numpy directly instead.
  df["백만원"] = df["백만원"].replace("-",pd.np.nan).astype(float)
0        148272.0
1             NaN
2             NaN
3          4915.0
4             NaN
           ...   
10795         0.0
10796       531.0
10797      1094.0
10798         1.0
10799      1093.0
Name: 백만원, Length: 10800, dtype: float64
df.head()
국가(대륙)별 상품군별 판매유형별 기간 백만원 연도 분기
0 합계 합계 2014.1/4 148272.0 2014 1
1 합계 합계 면세점 2014.1/4 NaN 2014 1
2 합계 합계 면세점 이외 2014.1/4 NaN 2014 1
3 합계 컴퓨터 및 주변기기 2014.1/4 4915.0 2014 1
4 합계 컴퓨터 및 주변기기 면세점 2014.1/4 NaN 2014 1

필요없는 데이터 제거하기

df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10800 entries, 0 to 10799
Data columns (total 7 columns):
 #   Column   Non-Null Count  Dtype  
---  ------   --------------  -----  
 0   국가(대륙)별  10800 non-null  object 
 1   상품군별     10800 non-null  object 
 2   판매유형별    10800 non-null  object 
 3   기간       10800 non-null  object 
 4   백만원      7200 non-null   float64
 5   연도       10800 non-null  int64  
 6   분기       10800 non-null  int64  
dtypes: float64(1), int64(2), object(4)
memory usage: 590.8+ KB
# 합계 데이터는 따로 구할 수 있으므로 전체 데이터에서 제거한다.

df = df[(df["국가(대륙)별"] != "합계") & (df["상품군별"] != "합계")].copy()
df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 9072 entries, 48 to 10799
Data columns (total 7 columns):
 #   Column   Non-Null Count  Dtype  
---  ------   --------------  -----  
 0   국가(대륙)별  9072 non-null   object 
 1   상품군별     9072 non-null   object 
 2   판매유형별    9072 non-null   object 
 3   기간       9072 non-null   object 
 4   백만원      6048 non-null   float64
 5   연도       9072 non-null   int64  
 6   분기       9072 non-null   int64  
dtypes: float64(1), int64(2), object(4)
memory usage: 567.0+ KB
# 결측치 보기
df.isnull().sum()
국가(대륙)별       0
상품군별          0
판매유형별         0
기간            0
백만원        3024
연도            0
분기            0
dtype: int64

K-Beauty 시각화

전체 상품군 판매액

# 판매유형별 데이터는 일부 기간에는 "계"만 존재하기 때문에
# 판매유형별 == "계" 데이터만 가져와서 봐야지
# 평균값을 구하는 그래프에서 올바른 값을 표현할 수 있다.

df_total=df[df["판매유형별"] == "계"].copy()
df_total.head()
국가(대륙)별 상품군별 판매유형별 기간 백만원 연도 분기
48 미국 컴퓨터 및 주변기기 2014.1/4 2216.0 2014 1
51 미국 가전·전자·통신기기 2014.1/4 2875.0 2014 1
54 미국 소프트웨어 2014.1/4 47.0 2014 1
57 미국 서 적 2014.1/4 962.0 2014 1
60 미국 사무·문구 2014.1/4 25.0 2014 1
# 연도, 판매액 lineplot으로 그리기

sns.lineplot(data=df_total, x="연도", y="백만원")

# 연도, 판매액 lineplot으로 그리고 상품군별로 다른 색상으로 표시하기
sns.lineplot(data=df_total, x="연도", y="백만원", hue="상품군별")
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)
# 오른쪽으로 범례 옮기는거 

# 위에 그린 그래프를 자세히 보기 위해 서브플롯으로 표시하기
sns.relplot(data=df_total, x="연도", y="백만원", hue="상품군별", kind="line", col="상품군별", col_wrap=4)

# isin을 사용해 화장품만 제외하고 df_sb이라는 변수에 담기

df_sub=df_total[~df_total["상품군별"].isin(["화장품","의류 및 패션 관련상품"])].copy()

# 앞에 ~ 물결 표시해ㅜㅈ면 화장품만 빼고...
# 연도별 판매액을 상품군별로 relplot을 활용해 서브플롯으로 그려보기

sns.relplot(data=df_sub, x="연도", y="백만원", hue="상품군별", col="상품군별", col_wrap=4, kind="line")
#kind기본값은 scatter

화장품의 온라인 쇼핑 해외직접판매액

# df_cosmetic이라는 변수에 상품군별이 화장품인 데이터만 가져오기

df_cosmetic = df_total[df_total["상품군별"]=="화장품"].copy()
df_cosmetic.head()
국가(대륙)별 상품군별 판매유형별 기간 백만원 연도 분기
72 미국 화장품 2014.1/4 3740.0 2014 1
117 중국 화장품 2014.1/4 32235.0 2014 1
162 일본 화장품 2014.1/4 1034.0 2014 1
207 아세안(ASEAN) 화장품 2014.1/4 398.0 2014 1
252 유럽연합(EU) 화장품 2014.1/4 937.0 2014 1
df_cosmetic["상품군별"].unique()
array(['화장품'], dtype=object)
# 연도와 판매액을 lineplot으로 그리고 분기별로 다른 색상으로 표현해 보기
plt.figure(figsize=(15,4))
sns.lineplot(data=df_cosmetic, x="연도", y="백만원", hue="분기")

df_cosmetic.head()
국가(대륙)별 상품군별 판매유형별 기간 백만원 연도 분기
72 미국 화장품 2014.1/4 3740.0 2014 1
117 중국 화장품 2014.1/4 32235.0 2014 1
162 일본 화장품 2014.1/4 1034.0 2014 1
207 아세안(ASEAN) 화장품 2014.1/4 398.0 2014 1
252 유럽연합(EU) 화장품 2014.1/4 937.0 2014 1
# 화장품 판매액에 대한 기간별 금액 데이터 시각화 하기
plt.figure(figsize=(15,4))
plt.xticks(rotation=30) #x축 기울기
sns.lineplot(data=df_cosmetic, x="기간", y="백만원")

# 화장품 판매액에 대한 기간별 금액 데이터 시각화하고 "국가(대륙)별"로 다른 색상으로 표시하기

plt.figure(figsize=(15,4))
plt.xticks(rotation=30) #x축 기울기
sns.lineplot(data=df_cosmetic, x="기간", y="백만원", hue="국가(대륙)별")

# 중국빼고 보기

plt.figure(figsize=(15,4))
plt.xticks(rotation=30) #x축 기울기
sns.lineplot(data=df_cosmetic[df_cosmetic["국가(대륙)별"]!="중국"], x="기간", y="백만원", hue="국가(대륙)별")

# 화장품 판매액에 대한 기간별 금액 데이터를 시각화하고 "판매유형별"로 다른색상으로 표현하기
plt.figure(figsize=(15,4))
plt.xticks(rotation=30) #x축 기울기
df_sub = df[df["판매유형별"] != "계"].copy()
sns.lineplot(data=df_sub, x="기간", y="백만원", hue="판매유형별")

# 화장품 판매액에 대한 기간별 금액 데이터를 시각화하고 "판매유형별"로 다른색상으로 표현하기
plt.figure(figsize=(15,4))
plt.xticks(rotation=30) #x축 기울기
df_sub = df[(df["판매유형별"] != "계") & (df["판매유형별"]!="면세점")].copy()
sns.lineplot(data=df_sub, x="기간", y="백만원", hue="판매유형별", ci=None)

의류 및 패션관련 상품 온라인쇼핑 해외직접판매액

# df_fashion 이라는 변수에 의류 데이터만 가져와 따로 담아두기


df_fashion = df[(df["상품군별"] == "의류 및 패션 관련상품") & (df["판매유형별"]=="계")].copy()
df_fashion.head()
국가(대륙)별 상품군별 판매유형별 기간 백만원 연도 분기
66 미국 의류 및 패션 관련상품 2014.1/4 9810.0 2014 1
111 중국 의류 및 패션 관련상품 2014.1/4 12206.0 2014 1
156 일본 의류 및 패션 관련상품 2014.1/4 13534.0 2014 1
201 아세안(ASEAN) 의류 및 패션 관련상품 2014.1/4 3473.0 2014 1
246 유럽연합(EU) 의류 및 패션 관련상품 2014.1/4 1364.0 2014 1
# 의류 및 패션 관련상품 판매액에 대한 기간별 금액 데이터를 시각화하고
# 국가별로 다른색상으로 표시하기

plt.figure(figsize=(15,4))
plt.xticks(rotation=30) #x축 기울기
sns.lineplot(data=df_fashion, x="기간", y="백만원", hue="국가(대륙)별")

# 의류 및 패션관련 상품 판매엑에 대한 기간별 금액 데이터 시각화
# 판매유형별로 다른 색상 표시

df_fashion2 = df[(df["상품군별"] == "의류 및 패션 관련상품") & (df["판매유형별"] != "계")].copy()

plt.figure(figsize=(15, 4))
plt.xticks(rotation=30)
sns.lineplot(data=df_fashion2, x="기간", y="백만원", hue="판매유형별", ci=None)

데이터 집계하기

# 피봇테이블로 "국가(대륙)별", "연도"별로 합계 금액을 표 형ㅇ태로 구하기

df_fashion.pivot_table?
df_fashion["판매유형별"].value_counts()
df_fashion.head()
국가(대륙)별 상품군별 판매유형별 기간 백만원 연도 분기
66 미국 의류 및 패션 관련상품 2014.1/4 9810.0 2014 1
111 중국 의류 및 패션 관련상품 2014.1/4 12206.0 2014 1
156 일본 의류 및 패션 관련상품 2014.1/4 13534.0 2014 1
201 아세안(ASEAN) 의류 및 패션 관련상품 2014.1/4 3473.0 2014 1
246 유럽연합(EU) 의류 및 패션 관련상품 2014.1/4 1364.0 2014 1
result = df_fashion.pivot_table(index="국가(대륙)별", columns="연도", values="백만원", aggfunc="sum")
# 기본은 평균으로 되어있음.. aggfunc

result
연도 2014 2015 2016 2017 2018 2019
국가(대륙)별
기타 9683.0 7248.0 5918.0 14387.0 23901.0 6475.0
대양주 3392.0 2349.0 3401.0 2266.0 2725.0 2489.0
미국 33223.0 38066.0 48451.0 50353.0 47875.0 55536.0
아세안(ASEAN) 14936.0 19639.0 24478.0 22671.0 23068.0 31247.0
유럽연합(EU) 4485.0 3374.0 4899.0 3736.0 4114.0 3694.0
일본 48960.0 57594.0 79905.0 90584.0 136800.0 134637.0
중국 57531.0 142339.0 190932.0 225407.0 288848.0 330267.0
중남미 975.0 616.0 649.0 762.0 576.0 544.0
중동 1172.0 1018.0 968.0 772.0 879.0 951.0

연산결과를 시각적으로 보기

# 피봇테이블로 구한 결과를 값의 많고 적음에 따라 시각적으로 표현

plt.figure(figsize=(15,4)
sns.heatmap(result, cmap="Blues", annot= True, fmt=".0f")
# annot=true 숫자값 표시 

sns.heatmap(result, cmap="Blues_r")
# _r 하면 위에랑 반대로.. 

전체 상품군별로 온라인쇼핑 해외직접판매액은 증가했을까?

# 위에서 판매유형별 데이터의 "계"만 모은 df_total 변수를 통한 연도별 합계 금액을 시각화 하기

df_total
국가(대륙)별 상품군별 판매유형별 기간 백만원 연도 분기
48 미국 컴퓨터 및 주변기기 2014.1/4 2216.0 2014 1
51 미국 가전·전자·통신기기 2014.1/4 2875.0 2014 1
54 미국 소프트웨어 2014.1/4 47.0 2014 1
57 미국 서 적 2014.1/4 962.0 2014 1
60 미국 사무·문구 2014.1/4 25.0 2014 1
... ... ... ... ... ... ... ...
10785 기타 아동·유아용품 2019.4/4 193.0 2019 4
10788 기타 음·식료품 2019.4/4 319.0 2019 4
10791 기타 농축수산물 2019.4/4 2.0 2019 4
10794 기타 생활용품 및 자동차용품 2019.4/4 531.0 2019 4
10797 기타 기 타 2019.4/4 1094.0 2019 4

3024 rows × 7 columns

sns.barplot(data=df_total, x="연도", y="백만원")

# 연도별 판매액을 그리고 "국가(대륙)별"로 다른 색상으로 표현하기

sns.barplot(data=df_total, x="연도", y="백만원", hue="국가(대륙)별")

plt.figure(figsize=(15,4))
sns.lineplot(data=df_total, x="연도", y="백만원", hue="국가(대륙)별")

# 연도별 판매액을 그리고 "상품군별"로 다른 색상으로 표현하기

plt.figure(figsize=(15,4))
sns.lineplot(data=df_total, x="연도", y="백만원", hue="상품군별")
plt.legend(bbox_to_anchor=(1.02, 1), loc=2, borderaxespad=0,)